@echo off
chcp 65001 >nul
title 代码合并工具

echo ========================================
echo 社区服务平台代码合并工具
echo ========================================
echo.

echo 🔧 检查Git环境...
git --version >nul 2>&1
if errorlevel 1 (
    echo ❌ Git未安装，请先安装Git
    pause
    exit /b 1
) else (
    echo ✅ Git已安装
)

echo.
echo 🔧 检查当前目录是否为Git仓库...
if not exist ".git" (
    echo ❌ 当前目录不是Git仓库
    echo 请先初始化Git仓库或切换到正确的目录
    pause
    exit /b 1
) else (
    echo ✅ 当前目录是Git仓库
)

echo.
echo 📋 选择合并操作:
echo 1. 拉取最新代码
echo 2. 合并指定分支
echo 3. 检查代码冲突
echo 4. 构建完整项目
echo 5. 测试小程序
echo.

set /p choice=请选择操作 (1-5): 

if "%choice%"=="1" goto pull_code
if "%choice%"=="2" goto merge_branch
if "%choice%"=="3" goto check_conflicts
if "%choice%"=="4" goto build_project
if "%choice%"=="5" goto test_project

echo 无效选择
pause
exit /b 1

:pull_code
echo.
echo 🔄 拉取最新代码...
git pull origin main
if errorlevel 1 (
    echo ❌ 拉取失败
) else (
    echo ✅ 拉取成功
)
goto end

:merge_branch
echo.
echo 请输入要合并的分支名:
set /p branch_name=分支名: 
echo.
echo 🔄 合并分支 %branch_name%...
git merge %branch_name%
if errorlevel 1 (
    echo ❌ 合并失败，请检查冲突
) else (
    echo ✅ 合并成功
)
goto end

:check_conflicts
echo.
echo 🔍 检查代码冲突...
git status
echo.
echo 检查完成，请查看上面的状态信息
goto end

:build_project
echo.
echo 🔨 构建完整项目...
echo 检查项目结构...
if not exist "pages" (
    echo ❌ 缺少pages目录
    goto end
)
if not exist "js" (
    echo ❌ 缺少js目录
    goto end
)
if not exist "backend" (
    echo ❌ 缺少backend目录
    goto end
)
echo ✅ 项目结构完整

echo.
echo 检查配置文件...
if not exist "app.js" (
    echo ❌ 缺少app.js
) else (
    echo ✅ app.js存在
)
if not exist "app.json" (
    echo ❌ 缺少app.json
) else (
    echo ✅ app.json存在
)
if not exist "project.config.json" (
    echo ❌ 缺少project.config.json
) else (
    echo ✅ project.config.json存在
)

echo.
echo ✅ 项目构建完成
goto end

:test_project
echo.
echo 🧪 测试小程序...
echo 请打开微信开发者工具
echo 导入项目: %cd%
echo 检查是否有编译错误
echo 测试各个页面功能
echo.
echo 测试清单:
echo - [ ] 首页加载正常
echo - [ ] 活动数据正确显示
echo - [ ] 页面跳转正常
echo - [ ] API调用成功
echo - [ ] 用户交互流畅
echo.
echo 测试完成后，请确认所有功能正常
goto end

:end
echo.
echo 操作完成！
pause
